Pressidian
花园入口
笔记
项目
关于
实验室
GitHub
花园入口
笔记
项目
关于
实验室
GitHub

KNOWLEDGE PATHS

笔记库
当前位置
笔记库/前端/面试/面经

18 美团-二面-核心本地商业

1 分钟阅读 · Note

目录树 578 篇

          • 0 面试技巧&HR面⬇️
          • 1磐松资产-前端实习-一面
          • 2字节跳动-豆包前端实习-全部
          • 3百度-前端实习面试-一面
          • 5光庭-前端实习-一面
          • 6懂车帝-前端实习-一面
          • 7字节-抖音团购-全部
          • 8腾讯-前端-全部
          • 9字节&美团-笔试
          • 10 美团-一面
          • 11 B站-一面
          • 12 腾讯-一面-企业微信团队
          • 13 腾讯-一面-腾讯金融科技
          • 14 腾讯-二面-腾讯金融科技
          • 15 美团-一面-核心本地商业
          • 16 斑马智行-全部
          • 17 字节-一面-飞书
          • 18 美团-二面-核心本地商业
          • 19 心影随形-全部
          • 20 thunderbit-全部
          • 21 converge ai-全部
          • 22 字节-国际化广告创意与品牌
        • 可投递企业
      • 前端技术栈
    • 笔记目录
    • CLAUDE.md
    • Vue 组件与 Render 函数

关联笔记 6

↗0 面试技巧&HR面⬇️同一路径↗10 美团-一面同一路径↗11 B站-一面同一路径↗12 腾讯-一面-企业微信团队同一路径↗13 腾讯-一面-腾讯金融科技同一路径↗14 腾讯-二面-腾讯金融科技同一路径
  • 18 美团-二面-核心本地商业

18 美团-二面-核心本地商业

> Last Format Time:6/12/2026 21:03:57

6/12/26 【理由】原文无 H1,章节使用 ### 提问 / ### 代码 / ### 反思,违反层级规则。 原内容:缺失 H1;首段使用 ### 提问 / ### 代码 / ### 反思

提问

全部是有关Agent

  • 需要注意的是有关skill与渐进式披露的东西

代码

给定一个表示若干个区间的集合数组intervals,每个区间由起始位置start和结束位置end组成。请合并所有重叠的区间,返回一个不重叠的区间数组,该数组需包含输入中的所有区间,并确保区间之间没有重叠。

我写的

function fn(arr1, arr2) {
    console.log(arr1, arr2);

    if (arr1[1] >= arr2[0]) {
        return true
    }

    return false
}

var merge = function (intervals) {
    let ans = []

    // console.log(intervals)
    intervals.sort((a, b) => a[0] - b[0])
    // console.log(intervals)

    let min = intervals[0][0]
    let max = intervals[0][1]

    for (let i = 0; i < intervals.length - 1; i++) {
        let curArr = intervals[i]
        let nxtArr = intervals[i + 1]

        if (fn(curArr, nxtArr)) {
            min = Math.min(...curArr, ...nxtArr)
            max = Math.max(...curArr, ...nxtArr)
            console.log(fn(curArr, nxtArr), min, max, '777')
        } else {
            console.log([min, max],'666')
            ans.push([min, max])
            min = 0
            max = 0
        }
    }

    ans.push([min, max])

    return ans
}
console.log(
    merge([
        [1, 2],
        [2, 3],
        [4, 6],

    ]),
)
// [ 1, 2 ] [ 2, 3 ]
// [ 1, 2 ] [ 2, 3 ]
// true 1 3 777
// [ 2, 3 ] [ 4, 6 ]
// [ 1, 3 ] 666
// [ [ 1, 3 ], [ 0, 0 ] ]

参考答案

/**
 * @param {number[][]} intervals - 输入的区间数组
 * @return {number[][]} - 合并后的区间数组
 */
var merge = function(intervals) {
    // 1. 边界处理:如果数组为空或长度小于2,无需合并
    if (!intervals || intervals.length < 2) {
        return intervals;
    }

    // 2. 排序:按照区间的起始位置(start)进行升序排序
    // a[0] 代表当前区间的 start,b[0] 代表下一个区间的 start
    intervals.sort((a, b) => a[0] - b[0]);

    // 3. 初始化结果数组,先放入第一个区间
    const merged = [intervals[0]];

    // 4. 遍历剩余的区间
    for (let i = 1; i < intervals.length; i++) {
        const currentInterval = intervals[i];
        // 获取结果数组中最后一个区间(即当前正在构建的合并区间)
        const lastMergedInterval = merged[merged.length - 1];

        // 5. 判断是否重叠
        // 如果当前区间的 start <= 上一个合并区间的 end,说明有重叠
        if (currentInterval[0] <= lastMergedInterval[1]) {
            // 合并操作:更新上一个合并区间的 end 为两者的最大值
            // Math.max 确保我们取到最远的结束点(例如 [1, 10] 和 [2, 6] 合并应为 [1, 10])
            lastMergedInterval[1] = Math.max(lastMergedInterval[1], currentInterval[1]);
        } else {
            // 6. 无重叠:直接将当前区间推入结果数组
            merged.push(currentInterval);
        }
    }

    return merged;
};

反思

肯定是没有下文了,废了这还转尼玛呢 ![Pasted image 20260608181215](../../../_assets/d0a06d2-Pasted image 20260608181215.png) 完蛋了啊。。。

无敌了

能不能给我一个惊喜啊,过了吧